package cn.lili.modules.grab.factory.after;

import cn.lili.common.exception.ServiceException;
import cn.lili.common.vo.ResultMessage;
import cn.lili.modules.grab.GrabAfterParam;
import cn.lili.modules.grab.enums.SourceEnums;
import cn.lili.modules.grab.enums.StatusEnums;


public interface GrabAfterService {

    /**
     * 渲染步骤
     *
     * @return 渲染枚举
     */
    SourceEnums step();

    /**
     * 售后服务列表
     *
     * @param grabParam 请求内容
     */
    default ResultMessage<Object> serviceList(GrabAfterParam grabParam) {
        throw new ServiceException(StatusEnums.STATUS_400.getDes());
    }

    /**
     * 售后服务类型
     *
     * @param grabParam 请求内容
     */
    default ResultMessage<Object> serviceTypeList(GrabAfterParam grabParam) {
        throw new ServiceException(StatusEnums.STATUS_400.getDes());
    }

    /**
     * 创建售后服务
     *
     * @param grabParam 请求内容
     */
    default ResultMessage<Object> createService(GrabAfterParam grabParam) {
        throw new ServiceException(StatusEnums.STATUS_400.getDes());
    }

    /**
     * 售后服务详情
     *
     * @param grabParam 请求内容
     */
    default ResultMessage<Object> serviceDetail(GrabAfterParam grabParam) {
        throw new ServiceException(StatusEnums.STATUS_400.getDes());
    }

    /**
     * 取消售后服务
     *
     * @param grabParam 请求内容
     */
    default ResultMessage<Object> serviceCancel(GrabAfterParam grabParam) {
        throw new ServiceException(StatusEnums.STATUS_400.getDes());
    }

    /**
     * 上传售后图片
     *
     * @param grabParam 请求内容
     */
    default ResultMessage<Object> uploadResource(GrabAfterParam grabParam) {
        throw new ServiceException(StatusEnums.STATUS_400.getDes());
    }

    /**
     * 售后申请单详情
     *
     * @param grabParam 请求内容
     */
    default ResultMessage<Object> getOrderRefundInfo(GrabAfterParam grabParam) {
        throw new ServiceException(StatusEnums.STATUS_400.getDes());
    }
}
